import request from "@/utils/request";

const BASE_URL = "/manage/sysBanner";

const BannerAPI = {
  /**
   * 获取信息
   * @returns 权限信息
   */
  getInfo(queryParams: object) {
    return request<any, BannerInfo>({
      url: `${BASE_URL}/info`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 获取角色分页列表
   *
   * @param queryParams 查询参数
   */
  getPage(queryParams: object) {
    return request<any, BannerInfoListVO>({
      url: `${BASE_URL}/page`,
      method: "get",
      params: queryParams,
    });
  },

  /**
   * 添加角色
   *
   * @param data 角色表单数据
   */
  create(data: BannerInfo) {
    return request({
      url: `${BASE_URL}/create`,
      method: "post",
      data: data,
    });
  },

  /**
   * 修改角色
   *
   * @param id 角色ID
   * @param data 角色表单数据
   */
  update(data: BannerInfo) {
    return request({
      url: `${BASE_URL}/update`,
      method: "post",
      data: data,
    });
  },
  /**
   * 批量删除角色，多个以英文逗号(,)分割
   *
   * @param ids 角色ID字符串，多个以英文逗号(,)分割
   */
  deleteByIds(data: object) {
    return request({
      url: `${BASE_URL}/delete`,
      method: "post",
      data: data,
    });
  },
};

export default BannerAPI;

/** 部门查询参数 */
export interface BannerPageQuery extends PageQuery {
  /** 搜索关键字 */
  keywords?: string;
}

/**
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键，自增ID',
  `title` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '标题',
  `src` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '图片地址',
  `jump_type` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '跳转类型 0无跳转，1商品页面，2外部链接 3内部链接',
  `jump_link` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '跳转链接',
  `area` varchar(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL DEFAULT '' COMMENT '区域 显示区域 index 首页,start app启动页',
  `sort` bigint(20) NOT NULL DEFAULT '0' COMMENT '排序',
  `status` tinyint(3) unsigned NOT NULL DEFAULT '1' COMMENT '0状态：2禁用，1正常',
  `start_time` bigint(20) DEFAULT NULL COMMENT '启用时间戳',
  `end_time` bigint(20) DEFAULT NULL COMMENT '失效时间戳',
  `app_id` bigint(20) DEFAULT '0' COMMENT '数据归属',
 */
/** 部门类型 */
export interface BannerInfo {
  /** ID */
  id?: string;
  /** 标题 */
  title: string;
  /** 图片 */
  src: string;
  /** 跳转类型 */
  jump_type: string;
  /** 跳转地址 */
  jump_link?: string;
  /** 显示区域 */
  area: string;
  /** 排序 */
  sort: number;
  /** 状态 */
  status: number;
  /** 启用时间 */
  start_time: string;
  /** 失效时间 */
  end_time: string;
}

export interface BannerInfoList extends BannerInfo {
  /** 更新时间 */
  updated_at: string;
  /** 创建时间 */
  created_at: string;
}

export interface BannerInfoListVO {
  /** 父级ID */
  total: number;
  list: BannerInfoList[];
}

// 类型
export interface TypeItem {
  label: string;
  value: string;
}
